package com.xd.core.debt.dto;

import com.xd.core.debt.vo.GuaranteeSlipVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 退保申请
 * </p>
 *
 * @author ZCH
 * @since 2025/03/14/15:29
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class ApplySurrenderDto {

    @ApiModelProperty(value = "	债权id")
    private Integer debtId;

    @ApiModelProperty(value = "车辆保单信息")
    private List<GuaranteeSlipVo> guaranteeSlipVoList;

    @ApiModelProperty(value = "退保情况 0:部分退保 1:全部退保")
    private String surrenderSituation;

    @ApiModelProperty(value = "退保保单剩余应还本金(元)")
    private BigDecimal surrenderRemainPrincipal;

    @ApiModelProperty(value = "退保保单应还本月利息(元)")
    private BigDecimal surrenderCurrentInterest;

    @ApiModelProperty(value = "本次逾期天数")
    private Integer overdueDays;

    @ApiModelProperty(value = "本次逾期利息")
    private BigDecimal overdueInterest;

    @ApiModelProperty(value = "本次违约金")
    private BigDecimal currentRepaymentPenalty;

    @ApiModelProperty(value = "总计提前退保金额(元)")
    private BigDecimal totalAmount;

    @ApiModelProperty(value = "应退费用(元)")
    private BigDecimal shouldRefundFee;

    @ApiModelProperty(value = "应补费用(元)")
    private BigDecimal shouldLateSubmitFee;

    @ApiModelProperty(value = "其他费用(元)")
    private BigDecimal otherFee;

    @ApiModelProperty(value = "退保保单总现金价值(元)")
    private BigDecimal surrenderGuaranteeTotalAmount;

    @ApiModelProperty(value = "减免金额(元)")
    private BigDecimal reliefAmount;

    @ApiModelProperty(value = "所选保单金额占总金额的比例")
    private BigDecimal rate;
}
